Short Message Service (SMS) functionality is an existing part of a number of different mobile telephony standards. These messages are typically restricted to 160 character messages, and are transmitted through control channels in many mobile telephony networks. Users are often charged by their carrier for sending or receiving messages, although in many networks incoming messages are freely delivered, and many carriers also offer rate plans that provide for either unlimited messaging or a very high volume of messages in a fixed fee package.
To provide SMS sending capabilities to people who do not want to use a mobile phone to send an SMS, any carriers provide an SMS sending service through a web-based interface. An example of such a service is shown in FIG. 1. Using a computer 50, a user interacts with a website 52 and provides both a destination phone number and a message to be sent. The message and phone number are relayed to an originating SMS-Centre (SMS-C) 54. This message may be provided directly or through an intermediate node and can be sent using one of a plurality of different protocols including hypertext transfer protocol (http), the simple mail transfer protocol (SMTP) and other conventional protocols that will be understood by those skilled in the art. The SMS-C 54 sends the SMS message to the terminating SMS-C 556 which is the SMS-C associated with the recipient handset 58. The SMS message is forwarded to handset 58, where it can be read by the recipient. In such systems, the sender address provided in the SMS message is a short code (a contact number typically 5 digits long) associated with the web-based portal, or associated with the carrier in general. A reply to the SMS that's sent to the sender address in this example will be considered undeliverable, and will be dropped by the terminating SMS-C 56.
Instant messaging services have proven to be very popular with a number of different market segments. Traditionally, these services have been single platform services that have relied on a data-packet based delivery channel. Among these popular services are Microsoft™'s MSN Messenger, and Yahoo!™'s Yahoo! Messenger. These platforms allow users to login to a server that tracks presence information about each user. By accessing the presence information associated with a list of contacts, users are able to find contacts that are online, and engage them in a chat session. One problem with these services that users experience is that they typically rely a client designed for the computing platform of choice, or are accessed through a webpage. When a user starts a chat session using a desktop computer, and then moves to a different platform, such as a mobile device, these services often treat the changeover as the start of a new chat session.
Some of these services have recognized the need to reach users that are not online, and thus allow users to send messages, through the chat server, to a phone number associated with a chat contact. In most of these systems, the setup is similar to the one shown in FIG. 1, but with the website 52 replaced with the chat server. As a result, it is possible to send a message to someone's mobile phone, but it is not possible for the recipient to either easily identify the sender of the message based on the addressing of the message or to reply to the message.
To address this problem, a solution has been offered as shown in FIG. 2. Computer 60 and computer 62 connect to each other through an application 64 that enables a chat service. Messages between the users are routed in a conventional fashion. If user 2 terminates the connection between computer 62 and chat application 64, user 1 at computer 60 sees the user log off the system. If user 1 has a profile for user 2 that includes a mobile phone number, a message can still be sent to chat application 64 from computer 60. The chat application 64 can determine based on stored presence information that user 2 is not available, and can then forward the received message to user 2 through and SMS message. The message is forwarded to SMS gateway 66. SMS gateway 66 has a plurality of Mobile Subscriber Integrated Services Digital Network (MSISDN) numbers associated with it, shown as MSISDN1 68a, MSISDN2 68b and MSISDN3 68c. The SMS gateway 66 creates a pairwise unique mapping between the MSISDN associated with user 2 and the MSISDN selected to send user 1's message (in this example MSISDN1 68a). This SMS message is then sent through originating SMS-C 54, to terminating SMS-C 56 and then to mobile device 58. User 2 will receive the message from a number that can be replied to. A reply is received by terminating SMS-C 56 and forwarded to the originating SMS-C 54 which delivers the message to SMS gateway 66 through a device associated with MSISDN1 68a. SMS gateway 66 can then determine based on the MSISDN the message was received over, and the MSISDN that the message was sent from, which user to deliver the message to. The message is then sent to user 1 on computer 60 through chat application 64.
This enables users to reach each other after a chat session has ended, but causes a series of different problems. Although the messages received on mobile device 58 can be replied to, based on the length of time that the pairwise unique mapping is maintained, MSISDN1 68a cannot be relied upon as a number that the mobile device 58 can associate with user 1. If the length of time is very large it would require the entity offering the chat application to maintain a large pool of MSISDN's which is very expensive, and then still requires that user 2 assign a phone number to user 1 that can only be used during a chat session. As such, it is impractical for user 2 to be able to use the sending MSISDN of an incoming message to identify the sender of the address. Furthermore, there is no context associated with the message, as there is no indication of the previous messages that were exchanged.
Other solutions to this problem have been to create chat clients for mobile devices that rely on a packet data delivery system. This is feasible on third generation (so-called 3G) networks and their successor networks (such as WiMax and LTE), but still requires that users subscribe to the service and that they maintain themselves as online using these services. This generates more data traffic, which is a double edged sword for carriers. Although a carrier is able to charge for the use of data services, building a sufficiently robust data network is difficult for many carriers in high demand environments. Furthermore, for many users this requires the addition of a data service which comes with an associated cost.
Many users have developed an affinity for the user of messaging services that offer the near instantaneous delivery of SMS messages on mobile platforms. Research In Motion™ has popularized device-to-device chatting though their Blackberry Messenger™ (BBM) service. This allows the delivery of instant messaging services between mobile user devices. This is properly thought of as a delivery of messages between devices, not between users as the underlying structure of the service makes use of a device specific address that is not typically portable to another device. As such, the messages cannot be delivered to another platform, and are delivered over the data packet network.
Some services, such as voice over IP services, allow a user to make use of a bridge between packet switched data services, such as the Internet, and circuit switched voice networks such as the Public Switched Telephone Network (PSTN). Some of these services allow a user to make outbound calls that are reported to the recipient as having originated at the MSISDN of another device. This allows a user to initiate a telephone call from a computer, and have the recipient see the caller id data associated with the caller's mobile phone. This is done through the control of the data provided in the Signaling System Seven (SS7) signaling channels. Skype™ provides such a service. Because these services recognize the need for their users to be able to have many different communication routes, many offer the ability for the user to send an SMS message. The delivery mechanism for these services is similar to that illustrated in FIG. 1, and the SMS messages are delivered with a sender address being a short code, which means that the user cannot reply to the received message by SMS.
Chat services in the existing art do not typically allow users to easily switch between platforms, and to offer users the ability to easily recognize who is sending a message they require the use of data services which may not be available to all users.
SMS messages provide a number of advantages to carriers. Whereas the delivery of data packets involves the use of an otherwise scarce resource (bandwidth assigned to data) SMS messages are often thought of as traveling for free. SMS messages are sent through dedicated control channels, and make use of otherwise unused bandwidth. The fact that they can be charged for only increases the interest that carriers have in their use. SMS messages have proven so popular that extensions are offered that allow devices to split a message that exceeds 160 characters into more than one message (so-called long SMS message), and allow the receiving devices to recognize these multi-part messages as single messages for display. Additionally, Multimedia Message Service (MMS) messages have also been offered that allow SMS messages to be used as a delivery mechanism for rich content such as photos and videos.
Therefore, it would be desirable to provide a system and method that allow carriers to leverage their investment in the SMS infrastructure to provide chat services to users on a plurality of different platforms.